МІНІСТЕРСТВО ОСВІТИ УКРАЇНИ
ДЕРЖАВНИЙ УНІВЕРСИТЕТ «ЛЬВІВСЬКА ПОЛІТЕХНІКА»
ПОБУДОВА ЕЛЕМЕНТАРНИХ ГЕОМЕТРИЧНИХ ЗОБРАЖЕНЬ В СЕРЕДОВИЩІ ТУРБО-ПАСКАЛЬ
ІНСТРУКЦІЯ
До лабораторної роботи № 1
з курсу «Комп’ютерна графіка»
Затверджено
на засiданнi кафедри
"Автоматика та телемеханiка"
Протокол N 11 вiдp 17.02.2000p.
Львів 2000
Mета роботи - навчитися ініціалізувати графічний режим та вивчити основні графічні оператори мови Турбо-Паскаль, набути практичних навиків в складанні програм для побудови геометричних зобра-жень та графіків функцій.
1. КОРОТКІ ТЕОРЕТИЧНІ ДАНІ
Після запуску програми з середовища Турбо-Паскаля екран знаходиться в текстовому режимі, тому для використання графічних засобів комп'ютера необхідна програма, яка б ініціалізувала графіч-ний режим роботи відеоадаптера. Після завершення роботи програми ПК повертається в текстовий ре-жим.
Всі процедури та функції, необхідні для графічного режиму роботи адаптера, знаходяться в модулі GRAPH.TPU і стають доступними лише після запису на початку програми оператора USES GRAPH.
Графічний режим роботи адаптера встановлює процедура INITGRAPH; формат звертання
INITGRAPH ( <драйвер>, <режим>, <шлях> ) ,
де
<драйвер> - змінна типу integer, яка визначає тип графічного драйвера;
<режим> - змінна типу integer, яка визначає режим роботи графічного адаптера;
<шлях> - вираз типу string, який вказує на шлях до файлу драйвера.
До моменту звертання до процедури на одному з дисків має знаходитися файл графічного драйвера (з розширенням bgi). Для визначення типу драйвера в модулі є такі константи:
const
Detect = 0; {режим автовизначення типу}
CGA = 1;
MCGA = 2;
EGA = 3;
EGA64 = 4;
EGAMono = 5;
IBM8514 = 6;
. . .
VGA = 9;
PC3270 = 10.
Для визначення режиму роботи адаптера значенням змінної <режим> може бути одна з констант, що знаходиться в модулі (в режимі автовизначення типу драйвера встановлюється максимально можливий режим роботи для відеоадаптера):
const
CGAC0 = 0; {320x200, 1 сторінка, 4 кольори, палітра 0: яскраво-зелений, яскраво-червоний, жовтий}
CGAC1 = 1; {320x200, 1 сторінка, 4 кольори, палітра 1: яскраво-блакитний, малиновий, білий}
CGAC2 = 2; {320x200, 1 сторінка, 4 кольори, палітра 2: зелений, червоний, коричневий}
CGAC3 = 3; {320x200, 1 сторінка, 4 кольори, палітра 3: блакитний, фіолетовий, світло-сірий}
CGAHi = 4; {640x200, 1 сторінка, 2 кольори}
MCGAC0 = 0; {320x200, 1 сторінка, 4 кольори, палітра 0: яскраво-зелений, яскраво-червоний, жовтий}
MCGAC1 = 1; {320x200, 1 сторінка, 4 кольори, палітра 1: яскраво-блакитний, малиновий, білий}
MCGAC2 = 2; {320x200, 1 сторінка, 4 кольори, палітра 2: зелений, червоний, коричневий}
MCGAC3 = 3; {320x200, 1 сторінка, 4 кольори, палітра 3: блакитний, фіолетовий, світло-сірий}
MCGAMed = 4; {640x200, 1 сторінка, 2 кольори}
MCGAHi = 5; {640x480, 1 сторінка, 2 кольори}
EGALo = 0; {640x200, 4 сторінки, 16 кольорів}
EGAHi = 1; {640x350, 2 сторінки, 16 кольорів}
EGAMonoHi = 0; {640x350}
VGALo = 0; {640x200, 4 сторінки, 16 кольорів}
VGAMed = 1; {640x350, 2 сторінки, 16 кольорів}
VGAHi = 2; {640x480, 1 сторінка, 16 кольорів}
IBM8514Lo = 0; {640x480, 256 кольорів}
IBM8514Hi = 1; {1024x768, 256 кольорів}
Файл графічного драйвера має розширення bgi. Це файли CGA.BGI, EGAVGA.BGI та інші. Шлях до файлу графічного драйвера вказується між апострофами.
Функція GRAPHRESULT повертає значення типу integer, в якому закодований результат останнього звертання до графічних процедур. Звертання до неї
GRAPHRESULT .
Якщо помилки немає, то значенням функції є нуль (в модулі - константа grOK), інакше - від'ємне число, що вказує на номер помилки.
Функція GRAPHERRORMSG повертає значення типу string, в якому згідно із вказаним кодом помилки видається відповідне текстове повідомлення. Формат звертання
GRAPHERRORMSG ( <код> ) ,
де <код> - код помилки, що повертається функцією GRAPHRESULT.
Наприклад, ініціювання графічного режиму з автоматичним визначенням типу драйвера може виглядати так:
var
Driver, Re...